Analyzing Effects of Trace Cache Configurations on the Prediction of Indirect Branches

نویسندگان

  • Yunhe Shi
  • Emre Özer
  • David Gregg
چکیده

This paper discusses the effects of using a trace cache on the indirect branch prediction in ILP processors. The main contribution of the paper is an exploration of the fact that the trace cache captures context information about the recent control flow of the program, which can improve the accuracy of predictors that do not themselves explicitly use such information. We analyze and experiment with various trace cache configurations and strategies to measure their effects on indirect branch prediction accuracy. We show that updating indirect branch target addresses in the trace cache improves indirect branch prediction accuracy. Then, we incrementally vary the trace cache configuration such as applying trace packing, adding 2-bit update counters per trace cache line, varying trace cache set associativity, cache size and cache line size in order to observe the impact of each configuration on the indirect branch prediction. We simulate a wide variety of designs using benchmarks with higher than average numbers of indirect branches. Our experimental results show that the harmnonic mean indirect branch prediction accuracy for a processor model with a trace cache that updates indirect branch target addresses is 42.04%, compared to 28.82% for a model with a trace cache that does not update indirect branch target addresses, and 10.85% for a model with a branch target buffer on our benchmarks. Our results have implications for any hardware predictor which stores entries corresponding to (possibly replicated) instructions in the trace cache rather than original instructions in main memory.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Rehashable BTB: An Adaptive Branch Target Buffer to Improve the Target Predictability of Java Code

Abstract. Java programs are increasing in popularity and prevalence on numerous platforms, including high-performance general-purpose processors. The dynamic characteristics of the Java runtime system present unique performance challenges for several aspects of microarchitecture design. In this work, we focus on the effects of indirect branches on branch target address prediction performance. R...

متن کامل

Coalescing Conditional Branches into Efficient Indirect Jumps

Indirect jumps from tables are traditionally only generated by compilers as an intermediate code generation decision when translating multiway selection statements. However, making this decision during intermediate code generation poses problems. The research described in this paper resolves these problems by using several types of static analysis as a framework for a code improving transformat...

متن کامل

University Wednesday , 10 May 2000 Trace Cache

Due to unfortunate circumstances this lecture was not scribed, following are several points that I remember were brought up. If anyone has something to add please tell me. In this session we discussed three papers: Alternative Fetch and Issue Policies for the Trace Cache Fetch Mechanism-describes several enhancements to the original University of Michigan view of the trace cache. Path-Based Nex...

متن کامل

The Impact of Java Applications at Microarchitectural Level from Branch Prediction Perspective

The portability, the object-oriented and distributed programming models, multithreading support and automatic garbage collection are features that make Java very attractive for application developers. The main goal of this paper consists in pointing out the impact of Java applications at microarchitectural level from two perspectives: unbiased branches and indirect jumps/calls, such branches li...

متن کامل

Advanced Techniques for Improving Indirect Branch Prediction Accuracy

Deep pipelines and fast clock rates are necessitating the development of high accuracy branch predictors. From microarchitectural viewpoint, in the last decade the importance of indirect branch prediction increased even though, in the computing programs the indirect jumps remain less frequent than the more predictable conditional branches. One reason refers to predicative execution that implies...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • J. Instruction-Level Parallelism

دوره 8  شماره 

صفحات  -

تاریخ انتشار 2006